package com.yonyou.cyxdms.sysAuth.service.dto;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.yonyou.cyx.framework.bean.entity.base.BasePO;
import com.yonyou.cyx.function.utils.bean.BeanMapperUtil;
import com.yonyou.cyxdms.framework.bean.dto.base.DMSBaseDTO;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Getter;
import lombok.Setter;
import lombok.ToString;
import lombok.experimental.Accessors;

import java.io.Serializable;
import java.math.BigDecimal;
import java.time.LocalDateTime;
import java.util.Date;

/**
 * <p>
 * 
 * </p>
 *

 */
@Getter
@Setter
@ToString
public class EquityDto extends DMSBaseDTO implements Serializable {

    private static final long serialVersionUID = 1L;


    /**
     * equityId
     */
    @ApiModelProperty(value = "股权id")
    private Long equityId;
    /**
     * 股东姓名
     */
    @ApiModelProperty(value = "股东姓名")
    private String shareholderName;
    /**
     * 投入资金
     */
    @ApiModelProperty(value = "投入资金")
    private BigDecimal inputAmount;
    /**
     * 控股比例
     */
    @ApiModelProperty(value = "控股比例")
    private BigDecimal equityRatio;
    /**
     * 公司id
     */
    @ApiModelProperty(value = "公司id")
    private Integer companyId;
    /**
     * 公司代码
     */
    @ApiModelProperty(value = "公司代码")
    private String companyCode;
//    /**
//     * 创建人
//     */
//    @ApiModelProperty(value = "创建人")
//    private String createdBy;
//    /**
//     * 创建时间
//     */
//    @ApiModelProperty(value = "创建时间")
//    private LocalDateTime createdAt;
//    /**
//     * 修改人
//     */
//    @ApiModelProperty(value = "修改人")
//    private String updatedBy;
//    /**
//     * 修改时间
//     */
//    @ApiModelProperty(value = "修改时间")
//    private LocalDateTime updatedAt;
    /**
     * 是否删除
     */
    @ApiModelProperty(value = "是否删除")
    private Integer isDeleted;
    /**
     * 将DTO 转换为PO
     * //对某个对象属性进行赋值
     * //BeanMapperUtil.populateValueByMethod(transPO,"setXxx",this.getXxx);
     * @param poClass dto 需要转换的dto
     * @author chengliang
     * @since 2019-09-17
     */
    @Override
    public <T extends BasePO> T transDtoToPo(Class<T> poClass) {
        return super.transDtoToPo(poClass);
    }

    /**
     * 将DTO 转换为PO
     * BeanMapperUtil.populateValueByMethod(transPO,"setXxx",this.getXxx);
     * @param po 需要转换的对象
     * @author chengliang
     * @since 2019-09-17
     */
    public <T extends BasePO> void transDtoToPo(T po) {
        BeanMapperUtil.copyProperties(this, po);
    }

}
